import vue from 'vue'
import Vuex from 'vuex'
import adduser from '../js/adduser'
vue.use(Vuex)
// 引入persistedState
import persistedState from 'vuex-persistedstate'

// vuex (仓库 储存)
export default new Vuex.Store({
  // 存储数据源,相当于data
  state: {
    // 最近登录时间
    LatesTime:'',
    // 商品数据源
    commdity: [],
    // 用户列表
    userList: adduser,
    // 折线图数据
    // 手机种类
    mobilePhoneManufacturer: ['xiaomi', 'oppo', 'vivo', 'iphone', '三星', '华为'],
    // 近七天日期
    lastSevenDays: ['4-1', '4-2', '4-3', '4-4', '4-5', '4-6', '4-7'],
    // 手机销量数据
    mylineChart_data: {
      xiaomi: [2250, 220, 3888, 230, 650, 3880, 1500],
      oppo: [1980, 1200, 980, 250, 2200, 990, 2200],
      huawei: [1230, 2500, 3000, 1500, 3000, 2700, 2000],
      vivo: [980, 620, 1155, 3222, 2585, 2000, 3200],
      iphone: [887, 540, 1888, 3220, 1330, 1000, 3220],
      sansong: [770, 450, 220, 2023, 3030, 850, 2088]
    },
    // 柱状图
    // 时间
    histogramDays: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
    // 用户
    User: ['新增用户', '活跃用户'],
    // 用户数据
    histogramData: {
      newUsers: [200, 400, 100, 300, 600, 500, 700],
      activeUsers: [400, 520, 30, 667, 410, 220, 120]
    }
  },
  // 计算属性,相当于computed
  getters: {
    //所依赖的数据源发生变化的时候fristName也会发生变化
  },
  // 直接修改state里面的数据源
  mutations: {
    // 添加用户
    userlist(state, val) {
      console.log(state.userList.length);
      vue.set(state.userList, state.userList.length, val)
    },
    // 删除用户
    dateleuserlist(state, val) {
      for (let index = 0; index < state.userList.length; index++) {
        if (state.userList[index].id == val) {
          state.userList.splice(index, 1)
        }
      }
    },
    // 编辑信息
    mutaeditList(state, val) {
      for (let index = 0; index < state.userList.length; index++) {
        if (state.userList[index].id == val.id) {
          vue.set(state.userList, index, val)
        }
      }
    },
    //最近登录时间
    MuLatesTime(state,val){
      state.LatesTime = val
    }
  },
  // 异步修改state里面的数据源
  actions: {
    // content 相当于迷你版的store
    // 添加信息
    Acuserlist(content, val) {
      content.commit('userlist', val)
    },
    // 删除信息
    Acdeleteuserlist(content, val) {
      content.commit('dateleuserlist', val)
    },
    // 编辑信息
    AceditList(content, val) {
      content.commit('mutaeditList', val)
    }
  },
  // 模块化vuex
  modules: {
  },
  //数据持久化
  plugins: [persistedState()]
})